﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace ApplicationGenerator.BusinessModule.Interfaces
{
    /// <summary>
    /// Interfejs dla kolekcji meta słowników
    /// </summary>
    public interface IMetaDictionaryCollection : IEnumerable
    {
        /// <summary>
        /// Dodaje meta słownik do kolekcji
        /// </summary>
        /// <param name="metaDictionary">Meta słownik</param>
        void Add(IMetaDictionary metaDictionary);

        /// <summary>
        /// Sprawdza, czy kolekcja zawiera meta słownik
        /// </summary>
        /// <param name="metaDictionary">Meta słownik</param>
        /// <returns>Czy kolekcja zawiera meta słownik ?</returns>
        bool Contains(string metaDictionary);

        /// <summary>
        /// Pobiera meta słownik z kolekcji
        /// </summary>
        /// <param name="metaDictionary">Nazwa meta słownika</param>
        /// <returns>Meta słownik</returns>
        IMetaDictionary this[string metaDictionary] { get; }
    }
}
